Most computing devices comprise firmware, which includes programs and data structures that control the internal device functions of components of the computing device. Firmware is often stored on flashable memory devices, such as erasable programmable read only memories (EPROMs). Utilizing a flashable memory device allows firmware to be updated by flashing over the memory device with new firmware, while preserving existing firmware when there is no power source available. The process of updating firmware may be referred to as a “component update,” or a “platform update,” where platform refers to one or more of the components of a computing device. During a firmware update, the component being updated must often be inoperable. As the component does not have access to its firmware, the component is incapable of performing its basic functions.
Many computing devices include firmware (or other software) that cannot be updated while the computing device is running its operating system (OS). By way of example, because the OS is typically stored on a hard disk drive and the hard disk drive is incapable retrieving data while its firmware is being updated, the computing device cannot administer a firmware update to the hard disk drive in the normal OS environment. Such firmware updates must be accomplished outside of the normal OS environment. Generally, this is accomplished by delivering a bootable image to the computing device. The bootable image may contain a stand-alone OS environment, such as a disk operating system (DOS) environment, that allows the computing device to operate and to apply the firmware update without accessing the normal OS environment.
Traditionally, bootable images used for such firmware updates had to be physically delivered to each computing device via a floppy disk, USB stick, or other portable media. Another known method of delivery is classic integrated device electronics redirect (IDE-R) in which a bootable image containing a firmware update is stored on a remote server. A computing device that has a network connection and is pre-configured to access the remote server may then boot from the remote bootable image to apply the firmware update.